package test.specs.historia1;

import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;

import br.com.ffm.info.praticas.fiptwitter.FIPTwitterFacade;
import br.com.ffm.info.praticas.fiptwitter.exception.FIPTwitterServiceException;

import static org.junit.Assert.*;

public class UsuarioRepetidoCenario {

	private FIPTwitterFacade facade;
	private FIPTwitterServiceException ex;
	
	@Given("o serviço já tenha um usuário de login $login")
	public void givenOServiçoJaTenhaUmUsuario(String login) throws FIPTwitterServiceException {
		facade = new FIPTwitterFacade();
		facade.newUser("Fulano", login, "12345678");
	}

	@When("eu faço o cadastro do usuário com nome $nome o login $login e a senha $senha")
	public void whenEuFaçoOCadastroDoUsuario(String nome, String login, String senha) {
		try {
			
			facade.newUser(nome, login, senha);
			
		} catch (FIPTwitterServiceException e) {
			ex = e;
		}
	}

	@Then("o sistema deve lançar o erro: $erro")
	public void thenOSistemaDeveLançarOErro(String erro) {
		assertNotNull(ex);
		assertEquals(erro, ex.getMessage());
	}
	
}
